This invention relates to data processing systems of the type having a read-only memory in which a resident computer program is stored. More particularly, the invention relates to a data processing system having a central processing unit capable of executing such a program.
Data processing systems are generally provided with at least one central processing unit (CPU) that includes circuits which control the interpretation and execution of instructions in a computer program. Such systems conventionally have a computer memory or information storage facility, and may also have input-output channels, control units, and one or more connected input-output devices.
The computer memory is used to store information which is accessible to the central processing unit. The stored information may represent text or numerical data to be operated upon or otherwise processed, or it may represent instructions of a computer program.
Computer memories are of various conventional types. For example, a memory is said to be "volatile" if the stored information is lost upon shutdown of the main power supply and consequent loss of applied power. A "nonvolatile" memory is one in which the information is stored permanently and is not dependent upon applied power for its retention. A volatile memory may be made "quasi-nonvolatile" by backing up the main power supply with an auxiliary supply source such as a battery.
Computer memories may also be dynamic or static in nature. A dynamic memory is one which permits the internally stored information to be accessed. Dynamic memories typically use integrated capacitors as storage elements. A static memory is one in which specific internally stored information remains stored at a fixed physical location and is continuously accessible at that location. Integrated flip-flop circuits are typical storage elements used in static memories.
Stored information may be accessed by random access in some computer memories, while in other memories it must be accessed by serial access. A random access type memory is one in which the time it takes to access stored information is independent of the physical internal memory location at which the information is stored. Serial access requires that stored information be accessed sequentially until the desired information is accessed.
Most semiconductor memories in current use are of the random access type.
One category of computer memory is the read-write type memory. A read-write memory is one in which the internally stored information may be accessed and read and also modified by the central processor unit. The mnemonic RAM is generally used to denote read-write memories which are of the random access type. Semiconductor read-write memories are generally volatile, are of the RAM type and may be static or dynamic in nature.
The read-only memory is another conventional basic type of computer memory. A read-only memory is one in which the stored information may be accessed and read but not modified by the central processor unit. The mnemonic ROM is generally used to denote a read-only type memory in which the stored information is represented by firmware which is fixed by masking in the process of manufacture and cannot be altered. ROM type memories are thus nonprogrammable and are used for permanent information storage within a data processing system.
The mnemonic PROM is used to denote another type of read-only memory. Semiconductor PROM type memories may generally be programmed one time after manufacture. They are typically programmed by blowing integrated electrical fuses at selected internal locations, and once information has been stored by the programming it cannot thereafter be altered.
The mnemonic EPROM is used to denote a readonly type memory which is programmable and also erasable or alterable. A semiconductor EPROM may be of the type which is erasable electronically, or of the type which is erasable by exposure to ultraviolet light. Semiconductor EPROM type memories may be programmed and erased and reprogrammed by the knowledgeable user or programmer using equipment which is relatively inexpensive and readily available.
Using the current complementary metal oxide semiconductor (CMOS) technology, high capacity ROM type memories are becoming available at relatively low cost. For example, 512 kilobit CMOS ROM type memories are now being made available by Sharp Company. The cost per unit of storage capacity is about 1/5 of that for volatile RAM type memories, and about 1/10 of that for alternative nonvolatile semiconductor memories. Other companies have projected availability in the near future of large nonvolatile ROM chips having 1M bit to 4M bit capacities. At the present state of microelectronics technology, the newer high capacity semiconductor memory circuits are more economical per bit than the available smaller capacity semiconductor devices, but are at the same time slower in terms of the time it takes to access stored information.
Read-only type memories have been conventionally used as permanent storage for resident computer programs for execution by the central processing unit. For example, utility programs such as bootstrap routines, operating system environment programs, loader or executive program routines and assembly language utility routines are often stored in and executed out of read-only type memories. Applications programs for applications such as word processing, accounting, inventory control and other user desired applications have also been stored in read-only type memories. The advantage to having resident programs available in permanent storage is that they may be instantly accessed by the user upon power up, thus avoiding the time and expense of the alternative by which programs are accessed and downloaded from auxiliary storage such as peripheral tape or disk drive units.
It is also conventional to load and assemble computer programs in RAM type memories and to have the central processing unit execute the programs out of RAM. For example, the program instructions may initially be stored in auxiliary storage such as on media in peripheral tape or disk drive devices. In such arrangements, the programs are accessed and downloaded by the central processing unit which then stores the programs in main storage of RAM type and causes the program to be executed out of RAM. The operation is typically carried out by the central processing unit under control of a utility program called an executive program which is stored in and executed out of a read-only type memory.
Peripheral storage devices for storing computer programs have the disadvantage of high initial cost and time and trouble to the user in connection with accessing and downloading computer programs. They have the advantages, however, of convenience and low cost of making available additional programs as well as updates and corrections to old programs.
With the availability of the newer high capacity ROM type memories, the advantage will be seen in increasing use of this type of media to provide applications or function programs to the user. At the same time, expedient and low cost means will be needed for updating and correcting to such programs, as well as for making new programs available. As it is, the relatively low cost of semiconductor ROM memories is keyed to their mass production, and as mentioned, their programming must be carried out by the manufacturer and cannot be performed in the field. Thus in most instances, it will be uneconomical to obtain customized high capacity ROM chips on a small scale basis. While the cost per unit storage capacity is comparatively low for mass produced high capacity CMOS ROM type memories, it should be noted that the cost per chip can be considerably higher than the cost for low capacity PROM or EPROM type memory chips and alternate low capacity media.
The following U.S. Patents are believed to be pertinent to the background of this invention and their respective disclosures and appended drawings are hereby incorporated herein by reference: U.S. Pat. Nos. 4,019,175, issued Apr. 19, 1977, to Nakao et al.; 4,064,490, issued Dec. 20, 1977 to Nagel; and 4,115,853, issued Sept. 19, 1978, to Dummermuth.